package org.example.admin.dao;


import org.apache.ibatis.annotations.Param;
import org.example.admin.bo.MenuBO;
import org.example.admin.dto.MenuDto;
import org.example.admin.entity.MenuEntity;
import org.example.admin.vo.MenuVo;

import java.util.List;

/**
 * @author 小杰_cc
 * @version 1.0
 */
public interface MenuDao {

    // 获取菜单列表
    List<MenuVo> list(MenuDto menuDto);
    // 获取单个菜单数据
    MenuVo detail(@Param("id") Long id);
    // 添加菜单
    int save(MenuBO menu);
    // 修改菜单
    int update(MenuBO menu);
    // 获取全部侧边菜单
    List<MenuVo> routerAll();
    // 根据用户id获取侧边菜单
    List<MenuVo> routerByUserId(@Param("userId") long userId);
    // 获取用户权限集合
    List<String> permissionByUserId(@Param("userId") Long userId);
    // 获取全部权限数据
    List<MenuVo> menuAll();

    int detete(@Param("ids") List<Long> ids);

    Integer countChildren(@Param("ids") List<Long> ids);
}
